#! /usr/bin/python3
#! -*- coding:utf-8 -*-

"""
                作者：王楠
                功能：汇率兑换
                版本：5.0
                日期：
                新增功能：2.0 :根据输入判断是美元还是人民币，进行相应的转换计算
                                      3.0: 根据用户输入判断是否退出（while）
                                      4.0:写进函数
                                      5.0:采用字典实现多种货币之间互换
"""

def vlaue_unite(s):
    """
        函数功能：返回输入货币字符串的金额和单位
    """
    return eval(s[:-3]), s[-3:]

def currency_conver(value, unit , to_unit):
    """
        函数：传入货币值，货币单位，需要转换的货币单位
    """
    C = {'CNY':1, 'USD':0.1425, 'EUR': 0.1313, 'JPY': 15.7959, 'GBP': 0.1102 , 'HKD': 1.1108}

    if (unit in C) & (to_unit in C):
        currency = round(C[to_unit]/C[unit],4)
        print('输入的<',unit,'>金额是:',value, sep='')
        print('兑换为<',to_unit,'>的金额是：',  round(value*currency, 2), sep='')

        return True

    else:
        return False

def main():
    print('人民币CNY    美元USD    日元JPY    欧元EUR    英镑GBP    港元HKD')
    str_value = input('请输入带单位的金额(退出输入：Q)：')
    if str_value == 'Q':
        print('程序已退出！')
    else:
        to_unit = input('请输入想要转换的货币单位（大写）：')

        while str_value != 'Q':

            value , unit = vlaue_unite(str_value)

            if currency_conver(value,unit,to_unit):

                print('*******************************\n\n')
                print('人民币CNY    美元USD    日元JPY    欧元EUR    英镑GBP    港元HKD')
                str_value = input('请输入带单位的金额(退出输入：Q)：')
                if str_value == 'Q':
                    print('程序已退出！')
                    break
                to_unit = input('请输入想要转换的货币单位（大写）：')

            else:
                print('程序不支持')

if __name__ == "__main__":
    main()
    
    







